package com.gable.exhibition.dao;

import com.gable.exhibition.model.Contract;
import com.gable.exhibition.model.ContractDevice;
import com.gable.exhibition.view.ContractDeviceEstimateActual;
import com.gable.exhibition.view.ContractView;
import com.gable.exhibition.view.ParameterView;
import com.gable.exhibition.view.SendParameterView;

import java.util.List;

public interface ContractDao {
    int deleteByPrimaryKey(Long contractId);

    int insertSelective(Contract record);

    Contract selectByPrimaryKey(Long contractId);

    int updateByPrimaryKeySelective(Contract record);

    int contractListCount(ParameterView parameterView);

    List<ParameterView> contractList(ParameterView parameterView);

    /**
     * 获取合同详情
     * @param id
     * @Create date 2018/2/22
     * @Create user jacky
     * @return
     */
    ContractView querycontractInfo(Long id);

    /**
     * 获取合同下的预计发货，实际发货
     * @param contractId
     * @Create user jacky
     * @Create date 2018/2/22
     * @return
     */
    List<ContractDeviceEstimateActual>  queryContractDeviceEstimateActual(Long contractId);

    //实际发货时选取合同列表
    int contractForActualCount(ParameterView parameterView);
    //实际发货时选取合同列表
    List<Contract> contractForActual(ParameterView parameterView);

    ContractView queryContractForSendSms(Long contractId);
}